package org.com.yz.dal.dao.model;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Getter;
import lombok.Setter;

import javax.persistence.Column;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;

/**
 * @ClassName BandCard
 * @Author wzc
 * @Date 2018/7/16 16:39
 **/
@Getter
@Setter
@TableName("bank_card")
public class BankCard extends Model<BankCard> implements Serializable {
    /**
     * 子账户号
     */

    @JSONField(name="id_bank_card")
    private String idBankCard;

    @JSONField(name="mch_accnt_no")
    private String mchAccntNo;
    /**
     * 银行代码
     */
    @JSONField(name="bank_no")
    private String bankNo;
    /**
     * 银行名称
     */
    @JSONField(name="bank_name")
    private String bankName;

    /**
     * 行号
     */
    @Transient
    private String bankNum;
    /**
     * 分支行信息
     */
    @JSONField(name="bank_branch_name")
    private String bankBranchName;
    /**
     * 卡类型，0-储蓄卡，1-信用卡
     */
    @JSONField(name="card_type")
    private String cardType;
    /**
     * 银行卡号
     */
    @JSONField(name="card_no")
    private String cardNo;
    /**
     * 信用卡背面3位
     */
    @JSONField(name="card_cvn")
    private String cardCvn;
    /**
     * 卡有效期
     */
    @JSONField(name="card_expire_date")
    private String cardExpireDate;
    /**
     * 持卡人姓名
     */
    @JSONField(name="user_name")
    @Column(name="cardholder_name")
    private String userName;
    /**
     * 持卡人手机号
     */
    @JSONField(name="card_phone")
    @Column(name="cardholder_phone")
    private String cardPhone;

    @JSONField(name="cert_type")
    @Column(name="cert_type")
    private String certType;
    /**
     * 身份证号
     */
    @JSONField(name="cert_no")
    private String certNo;
    /**
     * 手机回填验证码
     */
    @JSONField(name="verifyPhoneCode")
    private String verifyPhoneCode;
    /**
     * 手机回填验证码依据token
     */
    @JSONField(name="verifyToken")
    private String verifyToken;
    /**
     * to_verify 待认证  success绑定成功  untie 解绑  to_handle认证处理中
     */

    @JSONField(name="status")
    private String status;

    /**
     * 下游系统追踪号
     */
    @JSONField(name="trac_no")
    private  String tracNo;

    @JSONField(name="mch_no")
    private String mchNo;//商户号

    /**
     * 创建时间
     */
    private Date createTime;

    private Date updateTime;

    /**
     * 银行卡账户类型  0：对公  1：对私
     */
    @JSONField(name="card_accnt_type")
    private String cardAccntType;

    @JSONField(name="notify_url")
    private String notifyUrl;//小额打款异步回调url

    @Transient
    private String errmsg;//错误信息(请求出错，不计费)


    @Transient
    private String remark;//备注信息（请求成功，但是认证失败，要计费）

    @Transient
    @JSONField(name="order_no")
    private String orderNo;//订单号


    @Override
    protected Serializable pkVal() {
        return null;
    }
}
